<!--SIF Implementation Specification 2.2-6 (March 17, 2008)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.sifinfo.org/infrastructure/2.x" xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" elementFormDefault="qualified">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="imports/xml/xml.xsd" />
  <xs:complexType name="LearningStandardItemType">
    <xs:annotation>
      <xs:documentation>
							This object contains information related to curriculum standards statements "standards" or "benchmarks" or the like
							within the document. This object primarily focuses upon state department curriculum standards, published
							curriculum standards and local education agency learning standards.  Each LearningStandardItem reflects an individual standard statement and may occur
							at several levels within a hierarchially structured document.
						</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StandardSettingBody" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Country" minOccurs="0" type="sif:CountryType" />
            <xs:element name="StateProvince" minOccurs="0" nillable="true" type="sif:StateProvinceType" />
            <xs:element name="NCESId" minOccurs="0" nillable="true" type="sif:NCESIdType" />
            <xs:element name="SettingBodyName" minOccurs="0" nillable="true" type="xs:normalizedString">
              <xs:annotation>
                <xs:documentation>This is the text version of the organization's name.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="StandardHierarchyLevel" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Number" minOccurs="0" type="xs:unsignedInt">
              <xs:annotation>
                <xs:documentation>Integer assigned to each hierarchical level within standards tree. The top level is "1".</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Description" minOccurs="0" type="xs:string">
              <xs:annotation>
                <xs:documentation>Used to describe what role this item is serving in the structure. Some standards describe their levels in terms of standard, strands, and topics. Others use standards, benchmarks, and indicators. This attribute names the level of the item.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="PredecessorItems" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded" type="sif:IdRefType">
              <xs:annotation>
                <xs:documentation>GUID assigned to the LearningStandardItem directly above it in the hierarchy tree. This is a repeatable element because a single granular item may relate to multiple parent levels of the hierarchy.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="StatementCodes" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="StatementCode" minOccurs="0" maxOccurs="unbounded" type="xs:token">
              <xs:annotation>
                <xs:documentation>An alphanumeric ID code as defined by the organization to identify the statement.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Statements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Statement" minOccurs="0" maxOccurs="unbounded" type="xs:string">
              <xs:annotation>
                <xs:documentation>The text of the "standard," or "benchmark."</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevels" minOccurs="0" type="sif:GradeLevelsType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="sif:SubjectAreaType" />
      <xs:element name="StandardIdentifier" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="YearCreated" minOccurs="0" type="xs:gYear">
              <xs:annotation>
                <xs:documentation>This represents the year that this specific learning standard was created.  This is important to indicate as standards are updated to reflect the appropriate year it was created. This would be assigned and unique to the standard setting body.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="SubjectArea" minOccurs="0" type="sif:SubjectAreaType">
              <xs:annotation>
                <xs:documentation>This represents the subject or content area this learning standard addresses. This would be assigned and unique to the standard setting body.\</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="StandardNumber" minOccurs="0" type="xs:normalizedString">
              <xs:annotation>
                <xs:documentation>This is the specific number of the standard.  For example, if the subject is mathematics and this standard is Patterns, Functions and Algebra, this would be StandardNumber 1. This would be assigned and unique to the standard setting body.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="GradeLevels" minOccurs="0" type="sif:GradeLevelsType">
              <xs:annotation>
                <xs:documentation>This represents the grade level(s) this specific learning standard will address. This may be addressed in different ways.  Some states have a grade level that covers several grades and others have just one grade. This would be assigned and unique to the standard setting body.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Benchmark" minOccurs="0" nillable="true" type="xs:normalizedString">
              <xs:annotation>
                <xs:documentation>This is the next level within the hierarchy of the learning standard.  For example, if the subject is mathematics and the standard is algebra, this would be the next delineation - Represent an unknown quantity as a variable using a symbol, including letters. This would be assigned and unique to the standard setting body.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="GradeLevel" minOccurs="0" nillable="true" type="sif:GradeLevelType">
              <xs:annotation>
                <xs:documentation>This is the specific grade level.  This is to be utilized if the GradeLevel covers several grades. This would be assigned and unique to the standard setting body.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="IndicatorNumber" minOccurs="0" nillable="true" type="xs:normalizedString">
              <xs:annotation>
                <xs:documentation>This would be the most granular level of the learning standard associated with the grade level. Following the same example, an indicator for Algebra GradeLevel 5-7, the indicator for the benchmark above at 6 grade would be to Evaluate simple expressions by replacing variables with given values, and use formulas in problem-solving situations. This would be assigned and unique to the standard setting body.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="AlternateIdentificationCodes" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="AlternateIdentificationCode" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString">
                    <xs:annotation>
                      <xs:documentation>An alphanumeric ID code as defined by the organization to identify the statement.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="Organization" minOccurs="0" type="xs:normalizedString">
              <xs:annotation>
                <xs:documentation>Name of organization represented by the document, i.e., "National Council of Teachers of Mathematics (NCTM)," "Washington," "Seattle School District." This is the name of the organization that has this AlternateIdentificationCode. This should be a text field.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningStandardDocumentRefId" minOccurs="0" type="sif:IdRefType">
        <xs:annotation>
          <xs:documentation>The RefId of the item's parent LearningStandardDocument.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RelatedLearningStandardItems" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:annotation>
                  <xs:documentation>A relationship between the current standard item and another standard item.</xs:documentation>
                </xs:annotation>
                <xs:simpleContent>
                  <xs:extension base="sif:IdRefTypeOrEmpty">
                    <xs:attribute name="RelationshipType" use="required">
                      <xs:annotation>
                        <xs:documentation>Type of the relationship between the current standard and the target standard.  The value identifies the type of standard of the target item. The purpose of this information is to allow applications to sort/display these relationships in the appropriate context.</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:union>
                          <xs:annotation>
                            <xs:documentation>Type of the relationship between the current standard and the target standard.  The value identifies the type of standard of the target item. The purpose of this information is to allow applications to sort/display these relationships in the appropriate context.</xs:documentation>
                          </xs:annotation>
                          <xs:simpleType>
                            <xs:restriction base="sif:LearningStandardItemRelationshipTypesType" />
                          </xs:simpleType>
                          <xs:annotation>
                            <xs:documentation>Type of the relationship between the current standard and the target standard.  The value identifies the type of standard of the target item. The purpose of this information is to allow applications to sort/display these relationships in the appropriate context.</xs:documentation>
                          </xs:annotation>
                          <xs:simpleType>
                            <xs:restriction base="xs:token" />
                          </xs:simpleType>
                        </xs:union>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType">
      <xs:annotation>
        <xs:documentation>GUID assigned to each statement at each level within the document hierarchy</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute ref="xml:lang" use="required" />
  </xs:complexType>

  <xs:element name="LearningStandardItem" type="sif:LearningStandardItemType" />

</xs:schema>